
package com.hlkj.pay.infrastructure.model.merchant.fund;

import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.TableName;
import com.hlkj.framework.mybatis.core.dataobject.BaseDO;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

/**
 * 商户分账账号绑定表
 * 
 * @TableName t_merchant_fund_account_bind
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@TableName("t_merchant_fund_account_config")
public class MerchantFundAccountConfigDO extends BaseDO {

    @Schema(description = "商户")
    private String sn;
    @Schema(description = "默认服务商")
    private String providerCode;

    @Schema(description = "通编码")
    private String channelCode;
    @Schema(description = "应用ID")
    private String appId;

    @Schema(description = "分账类型 1：服务商渠道 2：商户渠道")
    private Integer type;
    /**
     * 进件单号
     */
    @Schema(description = "分账接受方名称")
    private String name;
    /**
     * 分账接受方号
     */
    @Schema(description = "分账接受方号")
    private String accountNo;
    /**
     * 分账费率
     */
    @Schema(description = "分账手续费率")
    private BigDecimal fee;
    /**
     * 分账费率
     */
    @Schema(description = "分账比例")
    private BigDecimal rate;


    @Schema(description = "商户是否可见 0：可见 1：不可见")
    private Integer snVisible;

    /**
     * 是否启用，0：关闭 1 启用
     */
    @Schema(description = "是否启用，0：关闭 1 启用")
    private Integer status;

    /**
     * 备注
     */
    @Schema(description = "备注")
    private String remark;

    /**
     * 分账类型 ，1=系统分账，0=商户手动分账
     */
    // @Schema(description = "分账类型 ，1=系统分账，0=商户手动分账")
    // private Integer fundProcessType;


    // @TableField(exist = false)
    // private List<String> channelCodeList;
    //
    //
    // @TableField(exist = false)
    // private List<String> appIdList;
    //
    // public List<String> getChannelCodeList() {
    //     if(StrUtil.isNotEmpty(this.channelCode)){
    //         channelCodeList = JSONUtil.toList(this.channelCode,String.class);
    //     }
    //     return channelCodeList;
    // }
    //
    // public List<String> getAppIdList() {
    //     if(StrUtil.isNotEmpty(this.appId)){
    //         appIdList = JSONUtil.toList(this.appId,String.class);
    //     }
    //     return appIdList;
    // }
}
